package com.kehutong.charge.entity;

import com.kehutong.charge.util.enums.ChargeStatusEnum;
import com.kehutong.charge.util.enums.FeeStatusEnum;
import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * @program: kht
 * @description: ChargeFeeManage
 * @author: joneron
 * @create: 2021/7/2
 **/
@Table(value="t_charge_fee_manage", comment="费用审核管理",multi = true, idType = IDType.TIMESTAMP, engine = "innodb")
public class ChargeFeeManage extends DataEntity {

    protected ChargeFeeManage(String id) {
        super(id);
    }

    @Column(comment="小区编号")
    private String communityNo;

    @Column(comment="小区名称")
    private String communityName;

    @Column(comment="服务编号")
    private String serviceNo;

    @Column(comment="订单编号")
    private String orderNo;

    @Column(comment="账单金额")
    private BigDecimal billAmount;

    @Column(comment="费项总额")
    private BigDecimal itemAmountTotal;

    @Column(comment="应付金额")
    private BigDecimal payableAmount;

    @Column(comment="实付金额")
    private BigDecimal paymentAmount;

    @Column(comment="议价金额")
    private BigDecimal negotiateAmount;

    @Column(length = 100,comment="原因")
    private String reason;

    @Column(length = 100,comment="处理备注")
    private String remark;

    @Column(comment = "状态：0禁用，1启用")
    private boolean status;

    @Column(comment="状态")
    private FeeStatusEnum applyStatus;

    @Column(comment="申请人")
    private String applyName;

    @Column(comment="申请人编号")
    private String applyUserNo;

    @Column(comment = "处理时间")
    private Timestamp applyTime;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    @Column(comment = "创建人")
    private String createName;

    @Column(comment = "处理人")
    private String updateName;

    @Column(comment = "处理人编号")
    private String updateNo;


    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public boolean isStatus() {
        return status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }

    public String getApplyName() {
        return applyName;
    }

    public void setApplyName(String applyName) {
        this.applyName = applyName;
    }

    public String getApplyUserNo() {
        return applyUserNo;
    }

    public void setApplyUserNo(String applyUserNo) {
        this.applyUserNo = applyUserNo;
    }

    public String getServiceNo() {
        return serviceNo;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public BigDecimal getBillAmount() {
        return billAmount;
    }

    public void setBillAmount(BigDecimal billAmount) {
        this.billAmount = billAmount;
    }

    public BigDecimal getItemAmountTotal() {
        return itemAmountTotal;
    }

    public void setItemAmountTotal(BigDecimal itemAmountTotal) {
        this.itemAmountTotal = itemAmountTotal;
    }

    public BigDecimal getPayableAmount() {
        return payableAmount;
    }

    public void setPayableAmount(BigDecimal payableAmount) {
        this.payableAmount = payableAmount;
    }

    public BigDecimal getPaymentAmount() {
        return paymentAmount;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getNegotiateAmount() {
        return negotiateAmount;
    }

    public void setNegotiateAmount(BigDecimal negotiateAmount) {
        this.negotiateAmount = negotiateAmount;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public FeeStatusEnum getApplyStatus() {
        return applyStatus;
    }

    public void setApplyStatus(FeeStatusEnum applyStatus) {
        this.applyStatus = applyStatus;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public Timestamp getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Timestamp applyTime) {
        this.applyTime = applyTime;
    }

    public String getUpdateNo() {
        return updateNo;
    }

    public void setUpdateNo(String updateNo) {
        this.updateNo = updateNo;
    }
}
